1. Field of the Invention
The present invention relates to distributed databases. More specifically, the present invention relates to a technique for performing an asynchronously remotely copy of a distributed database.
2. Description of the Related Art
Basic business of banks and stock broker companies have shifted from centralized computerized database system to a distributed database system to ensure business continuance in the event of a disaster, such as an earthquake or fire at a data center. Duplication of primary database, or primary peer, to a secondary database, or secondary peer, is performed using either a synchronous or an asynchronous peer-to-peer remote copy operation.
In synchronous peer-to-peer remote copy operation (or synchronous remote copy) the write response is degraded because each write to the primary peer must be sent to a remote peer before the write can be acknowledged back to the primary peer by the secondary peer. An asynchronous peer-to-peer remote copy operation (or asynchronous remote copy) avoids a degraded write response time experienced by a synchronous remote copy by acknowledging a write to the primary peer before the write is sent to the remote peer. The write is subsequently sent to the secondary peer as a background operation. While an asynchronous remote copy addresses the latency problem associated with a synchronous remote copy, an asynchronous remote copy introduces a write reordering problem that can affect the correctness of applications, such as databases.
Databases, such as DB2, Oracle and MS Sql server, require that a log record describing modifications to a page be on disk before the modified page reaches disk. An asynchronous remote copy operation can violate this invariant because write caches do not track the order of writes. Thus, the remote copy may be undesirably inconsistent with the primary copy. Consequently, an intermediate solution is applied in which a log volume is synchronously copied while other volumes are asynchronously copied, thereby ensuring that database consistency. An undesirably degraded write performance for log volumes remains, however, that governs the end performance of the database application.
Consequently, what is needed is a technique for asynchronously remotely copying database content changes from a primary site to a remote site while ensuring that the invariant desired by certain databases be maintained.